/*
 * Problem Statement: Write a program that prints the numbers 1 to 100. However,
 * for multiples of three, print “Fizz” instead of the number. Meanwhile, for
 * multiples of five, print “Buzz” instead of the number. For numbers which are
 * multiples of both three and five, print “FizzBuzz”.
 *
 * Language: C++
*/

#include <bits/stdc++.h>

using namespace std;

int main()
{
	for(auto i=1; i<=100; i++) {
		if(i%3 == 0 && i%5 == 0)
			cout<<"FizzBuzz"<<endl;
		else if(i%3 == 0)
			cout<<"Fizz"<<endl;
		else if(i%5 == 0)
			cout<<"Buzz"<<endl;
		else
			cout<<i<<endl;
	}
	return 0;
}

/*
 * Input - n-hardcoded (100)
 * Time Complexity: O(n)
 * Space Complexity: constant
 * Output:
	1
	2
	Fizz
	4
	Buzz
	Fizz
	7
	8
	Fizz
	Buzz
	11
	Fizz
	13
	14
	FizzBuzz
	16
	17
	Fizz
	19
	Buzz
	Fizz
	22
	23
	Fizz
	Buzz
	26
	Fizz
	28
	29
	FizzBuzz
	31
	32
	Fizz
	34
	Buzz
	Fizz
	37
	38
	Fizz
	Buzz
	41
	Fizz
	43
	44
	FizzBuzz
	46
	47
	Fizz
	49
	Buzz
	Fizz
	52
	53
	Fizz
	Buzz
	56
	Fizz
	58
	59
	FizzBuzz
	61
	62
	Fizz
	64
	Buzz
	Fizz
	67
	68
	Fizz
	Buzz
	71
	Fizz
	73
	74
	FizzBuzz
	76
	77
	Fizz
	79
	Buzz
	Fizz
	82
	83
	Fizz
	Buzz
	86
	Fizz
	88
	89
	FizzBuzz
	91
	92
	Fizz
	94
	Buzz
	Fizz
	97
	98
	Fizz
	Buzz
*/
